--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
sbapp/kivymd/tools/argument_parser.py f8b3e3760b831745cf10d97aeae64e9c00a136a9 (f8b3e376) Text, 3.19 KB
T8b949e# Copyright (c) 2019-2021 Artem Bulgakov
T8b949e#
T8b949e# This file is distributed under the terms of the same license,
T8b949e# as the Kivy framework.
Tff7b72import T7ee787argparse
Tff7b72import T7ee787sys
Tff7b72class T56d364ArgumentParserWithHelpTb4b4b4(Te6edf3argparseTff7b72.Td2a8ffArgumentParserTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffparse_argsTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3argsTff7b72=Tff7b72NoneTb4b4b4, Te6edf3namespaceTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
T8b949e# Add help when no arguments specified
Tff7b72if Tff7b72not Te6edf3args Tff7b72and Tff7b72not Tffa657lenTb4b4b4(Te6edf3sysTff7b72.Td2a8ffargvTb4b4b4) Tff7b72> T79c0ff1Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffprint_helpTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffexitTb4b4b4(T79c0ff1Tb4b4b4)
Tff7b72return Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffparse_argsTb4b4b4(Te6edf3argsTb4b4b4, Te6edf3namespaceTb4b4b4)
Tff7b72def Td2a8fferrorTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3messageTb4b4b4)Tb4b4b4:
T8b949e# Add full help on error
Tff7b72selfTff7b72.Td2a8ffprint_helpTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffexitTb4b4b4(T79c0ff2Tb4b4b4, Ta5d6fffTa5d6ff"Tffea00\nTa5d6ffError: Tffd700{Te6edf3messageTffd700}Tffea00\nTa5d6ff"Tb4b4b4)
Tff7b72def Td2a8ffformat_helpTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e# Add subparsers usage and help to full help text
Te6edf3formatter Tff7b72= Tff7b72selfTff7b72.Td2a8ff_get_formatterTb4b4b4(Tb4b4b4)
T8b949e# Get subparsers
Te6edf3subparsers_actions Tff7b72= Tb4b4b4[
Te6edf3action
Tff7b72for Te6edf3action Tff7b72in Tff7b72selfTff7b72.Td2a8ff_actions
Tff7b72if Tffa657isinstanceTb4b4b4(Te6edf3actionTb4b4b4, Te6edf3argparseTff7b72.Td2a8ff_SubParsersActionTb4b4b4)
Tb4b4b4]
T8b949e# Description
Te6edf3formatterTff7b72.Td2a8ffadd_textTb4b4b4(Tff7b72selfTff7b72.Td2a8ffdescriptionTb4b4b4)
T8b949e# Usage
Te6edf3formatterTff7b72.Td2a8ffadd_usageTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffusageTb4b4b4,
Tff7b72selfTff7b72.Td2a8ff_actionsTb4b4b4,
Tff7b72selfTff7b72.Td2a8ff_mutually_exclusive_groupsTb4b4b4,
Te6edf3prefixTff7b72=Ta5d6ff"Ta5d6ffUsage:Tffea00\nTa5d6ff"Tb4b4b4,
Tb4b4b4)
T8b949e# Subparsers usage
Tff7b72for Te6edf3subparsers_action Tff7b72in Te6edf3subparsers_actionsTb4b4b4:
Tff7b72for Te6edf3choiceTb4b4b4, Te6edf3subparser Tff7b72in Te6edf3subparsers_actionTff7b72.Td2a8ffchoicesTff7b72.Td2a8ffitemsTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3formatterTff7b72.Td2a8ffadd_usageTb4b4b4(
Te6edf3subparserTff7b72.Td2a8ffusageTb4b4b4,
Te6edf3subparserTff7b72.Td2a8ff_actionsTb4b4b4,
Te6edf3subparserTff7b72.Td2a8ff_mutually_exclusive_groupsTb4b4b4,
Te6edf3prefixTff7b72=Ta5d6ff"Ta5d6ff"Tb4b4b4,
Tb4b4b4)
T8b949e# Positionals, optionals and user-defined groups
Tff7b72for Te6edf3action_group Tff7b72in Tff7b72selfTff7b72.Td2a8ff_action_groupsTb4b4b4:
Tff7b72if Tff7b72not Tffa657anyTb4b4b4(
Tb4b4b4[
Te6edf3action Tff7b72in Te6edf3subparsers_actions
Tff7b72for Te6edf3action Tff7b72in Te6edf3action_groupTff7b72.Td2a8ff_group_actions
Tb4b4b4]
Tb4b4b4)Tb4b4b4:
Te6edf3formatterTff7b72.Td2a8ffstart_sectionTb4b4b4(Te6edf3action_groupTff7b72.Td2a8fftitleTb4b4b4)
Te6edf3formatterTff7b72.Td2a8ffadd_textTb4b4b4(Te6edf3action_groupTff7b72.Td2a8ffdescriptionTb4b4b4)
Te6edf3formatterTff7b72.Td2a8ffadd_argumentsTb4b4b4(Te6edf3action_groupTff7b72.Td2a8ff_group_actionsTb4b4b4)
Te6edf3formatterTff7b72.Td2a8ffend_sectionTb4b4b4(Tb4b4b4)
Tff7b72elseTb4b4b4:
T8b949e# Process subparsers differently
T8b949e# Just show list of choices
Te6edf3formatterTff7b72.Td2a8ffstart_sectionTb4b4b4(Te6edf3action_groupTff7b72.Td2a8fftitleTb4b4b4)
T8b949e# formatter.add_text(action_group.description)
Tff7b72for Te6edf3action Tff7b72in Te6edf3action_groupTff7b72.Td2a8ff_group_actionsTb4b4b4:
Tff7b72for Te6edf3choice Tff7b72in Te6edf3actionTff7b72.Td2a8ffchoicesTb4b4b4:
Te6edf3formatterTff7b72.Td2a8ffadd_textTb4b4b4(Te6edf3choiceTb4b4b4)
Te6edf3formatterTff7b72.Td2a8ffend_sectionTb4b4b4(Tb4b4b4)
T8b949e# Subparsers help
Tff7b72for Te6edf3subparsers_action Tff7b72in Te6edf3subparsers_actionsTb4b4b4:
Tff7b72for Te6edf3choiceTb4b4b4, Te6edf3subparser Tff7b72in Te6edf3subparsers_actionTff7b72.Td2a8ffchoicesTff7b72.Td2a8ffitemsTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3formatterTff7b72.Td2a8ffstart_sectionTb4b4b4(Te6edf3choiceTb4b4b4)
Tff7b72for Te6edf3action_group Tff7b72in Te6edf3subparserTff7b72.Td2a8ff_action_groupsTb4b4b4:
Te6edf3formatterTff7b72.Td2a8ffstart_sectionTb4b4b4(Te6edf3action_groupTff7b72.Td2a8fftitleTb4b4b4)
Te6edf3formatterTff7b72.Td2a8ffadd_textTb4b4b4(Te6edf3action_groupTff7b72.Td2a8ffdescriptionTb4b4b4)
Te6edf3formatterTff7b72.Td2a8ffadd_argumentsTb4b4b4(Te6edf3action_groupTff7b72.Td2a8ff_group_actionsTb4b4b4)
Te6edf3formatterTff7b72.Td2a8ffend_sectionTb4b4b4(Tb4b4b4)
Te6edf3formatterTff7b72.Td2a8ffend_sectionTb4b4b4(Tb4b4b4)
T8b949e# Epilog
Te6edf3formatterTff7b72.Td2a8ffadd_textTb4b4b4(Tff7b72selfTff7b72.Td2a8ffepilogTb4b4b4)
T8b949e# Determine help from format above
Tff7b72return Te6edf3formatterTff7b72.Td2a8ffformat_helpTb4b4b4(Tb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────